package com.projectCommon.bean;

import com.alibaba.excel.annotation.ExcelProperty;
//import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author 吴宇~
 * @motto 我亦无他，唯手熟尔。
 * @edition jdk1.8
 * @reflection 0-1 喧闹任其喧闹，自由我自为之，我自风情万种，与世无争。
 * @date 2024/04/04/18:50
 * @target 心若有所向往，何惧道阻且长
 */
//烟的信息表  曾经所有卖过，没啦卖过的烟，  本公司，外公司，  等等所有的都放在这个里面
@Data
public class Smoke implements Serializable {
    //    自己设置的一个id  可以当做自己的商品id 我有很多的商品，这就算一个 @
//    @TableId
    @ExcelProperty("id")
    private String Id;
    private String itemUniqueIndexId;
    //    产品名字  @
    @ExcelProperty("名称")
    private String productName;
    //    产品uuid，没什么用  @
    private String productUuid;
    //    品牌名称 @
    private String brandName;
    //    品牌uuid @
    private String brandUuid;
    //    产品编码  目前可以根据这个进行搜索  就使用这个进行搜索就行了，  还有一个值是productCodeOrder @
    private String productCode;
    //    这是csv文件里面的条码， 是唯一的，但是找不到怎么唯一的，和什么东西有关系，  查询到的数据里面没有这个条码。
    //    (可能是对于条  对于条！！！ 的编码)   不确定性太大，
    private String barCode;
    //    产品厂商名字  @
    private String factorySimpleName;
    //    批发价 单位为分 @
    private String wholeSalePrice;
    //    建议售卖价 @
    private String retailPrice;
    //   实际售卖价/盒
    @ExcelProperty("盒价")
    private String realSalePriceBox;
    //   实际售卖价/条
    @ExcelProperty("条价")
    private String realSalePriceBar;
    //    是否为异型烟  1为true  0为false @
    private String orgIsAbnormity;
    //    是否为雪茄
    private String orgIsCigar;
    //    价格类型编码  01 、02 、03 @
    private String priceTypeCode;
    //    价格类型编码名字  一类烟  二类烟  三类烟 @
    private String priceTypeCodeName;
    //    产品是否正在销， ，1为售卖  0为下架
    private String productIsSale;
    //    这条数据对产品的状态  1. 新增 2. 下架  3. 修改
    private char dataStatus;
    //     是否为公司烟
    private String productIsCorporation;
    // 版本信息
    private int versionInfo;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    private String createId;

    private String updateId;

    //这个字段是一个批次号。主要是为了定义数据修改的时候 是哪一个批次。 组成部分是
    // 前8位  年月日(一般直接使用当天日期)
    // 批次4位(当天批次从1开始，逐渐累加)  不够的补0。
    // 数量 4位(这个批次修改了多少位)。不够的补0。
    // 批次的修改方式，4位 (自动定时任务更新，手动更新，初始化更新，通过excel ) 更新这不是就有了吗，！！  这不是就又补充了常量表了吗。
    // 。 最后加一个pkuuid
//    8+4+4+4+12 位的 pk、一共32位

    private String batchSerialId;


    /**
     * @TableField(fill = FieldFill.INSERT)
     * private LocalDateTime createTime;
     * @TableField(fill = FieldFill.INSERT_UPDATE)
     * private LocalDateTime updateTime;
     * @TableField(fill = FieldFill.INSERT)
     * private Long createUser;
     * @TableField(fill = FieldFill.INSERT_UPDATE)
     * private Long updateUser;
     */

    @Override
    public String toString() {
        return "Smoke{" +
                "Id='" + Id + '\'' +
                ", itemUniqueIndexId='" + itemUniqueIndexId + '\'' +
                ", productName='" + productName + '\'' +
                ", productUuid='" + productUuid + '\'' +
                ", brandName='" + brandName + '\'' +
                ", brandUuid='" + brandUuid + '\'' +
                ", productCode='" + productCode + '\'' +
                ", barCode='" + barCode + '\'' +
                ", factorySimpleName='" + factorySimpleName + '\'' +
                ", wholeSalePrice='" + wholeSalePrice + '\'' +
                ", retailPrice='" + retailPrice + '\'' +
                ", realSalePriceBox='" + realSalePriceBox + '\'' +
                ", realSalePriceBar='" + realSalePriceBar + '\'' +
                ", orgIsAbnormity='" + orgIsAbnormity + '\'' +
                ", orgIsCigar='" + orgIsCigar + '\'' +
                ", priceTypeCode='" + priceTypeCode + '\'' +
                ", priceTypeCodeName='" + priceTypeCodeName + '\'' +
                ", productIsSale='" + productIsSale + '\'' +
                ", dataStatus=" + dataStatus +
                ", productIsCorporation='" + productIsCorporation + '\'' +
                ", versionInfo=" + versionInfo +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", createId='" + createId + '\'' +
                ", updateId='" + updateId + '\'' +
                ", batchSerialId='" + batchSerialId + '\'' +
                '}';
    }
}
